package org.ufpe.cin.ip.projeto.Dados.BaseClasses;

import java.io.Serializable;

/**
 * DIGITE AQUI!
 * 
 * @author phmb3
 **/
public abstract class CommonPlayer implements Serializable{
	private static final long serialVersionUID = 1L;
	private double saldo;
	private Carta[] mao;
	private int posicao;
	private double poteDoJogador;
	private boolean inRound;
	private boolean inGame;
	private boolean hadRaise;
	private String nome;

	public CommonPlayer(double saldo, int posicao){
		inGame = true;
		inRound = true;
		this.saldo = saldo;
		this.setPosicao(posicao);
		this.mao = new Carta[2];
	}

	public double apostar(double aposta){
		if(aposta <= saldo && aposta > 0){
			this.saldo -= aposta;
			this.poteDoJogador += aposta;
		}
		return poteDoJogador;
	}

	public void desistir(boolean fold){
		inRound = false;
		//  TODO: true in every new round 
	}

	public void smallBlind(){

	}

	//GETS & SETS
	public double getSaldo() {
		return saldo;
	}

	public void setSaldo(double saldo) {
		this.saldo = saldo;
	}

	public Carta[] getMao() {
		return mao;
	}

	public void setMao(Carta[] mao) {
		this.mao = mao;
	}

	public int getPosicao() {
		return posicao;
	}

	public void setPosicao(int posicao) {
		this.posicao = posicao;
	}

	public double getPoteDoJogador() {
		return poteDoJogador;
	}

	public void setPoteDoJogador(double poteDoJogador) {
		this.poteDoJogador = poteDoJogador;
	}

	public boolean isInRound() {
		return inRound;
	}

	public void setInRound(boolean inRound) {
		this.inRound = inRound;
	}

	public boolean getIsInGame() {
		return inGame;
	}

	public void setInGame(boolean inGame) {
		this.inGame = inGame;
	}

	public boolean getIsHadRaise() {
		return hadRaise;
	}

	public void setHadRaise(boolean hadRaise) {
		this.hadRaise = hadRaise;
	}
}
